package w83a.w83aOperacionesPaso.w83aLotesPreavisos;

import java.util.ArrayList;

import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;

import org.apache.commons.lang.StringUtils;
import org.apache.struts.action.ActionErrors;
import org.apache.struts.action.ActionForm;
import org.apache.struts.action.ActionForward;
import org.apache.struts.action.ActionMapping;

import w83a.w83aBeans.W83aLotesPreavisosBean;
import w83a.w83aBeans.W83aUsuarioXLNetsBean;
import w83a.w83aUtilidades.W83aUtilidadesComunes;
import w83a.w83aUtilidadesComunes.W83aClsConstantes;
import w83a.w83aUtilidadesComunes.W83aClsTrazas;
import es.ejie.frmk.presentacion.operacion.paso.Q70ActionPasoOP;
import es.ejie.frmk.presentacion.sesiondatos.Q70ContextoEJIE;

// TODO: Auto-generated Javadoc
/**
 * The Class W83aTablaAgrupacionesOP.java.
 *
 * @author Deusto Sistemas
 */
public class W83aTablaLotesPreavisosOPAction extends Q70ActionPasoOP{

	
	protected void processOP(Q70ContextoEJIE contexto, ActionErrors errores, ActionMapping mapping,
			ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		//Guardamos la accion en el contexto
			contexto.set("action",request.getParameter("action"));
			W83aClsTrazas.trazaDebug(null, "@@@@@@@@@@@ W83aTablaLotesPreavisosOPAction @@@@@@@@@@@@");
			W83aLotesPreavisosBean lotesPreavisosBean = (W83aLotesPreavisosBean)contexto.get("w83aLotesPreavisosBean");
		contexto.set("codLote","");
		
		W83aClsTrazas.trazaDebug(null, "@@@@@@@@@@@ W83aTablaLotesPreavisosOPAction w83aUsuarioXLNets @@@@@@@@@@@@");
			lotesPreavisosBean.setUsuarioBean((W83aUsuarioXLNetsBean)contexto.get("w83aUsuarioXLNets"));
			W83aClsTrazas.trazaDebug(null, "@@@@@@@@@@@ W83aTablaLotesPreavisosOPAction despues de w83aUsuarioXLNets @@@@@@@@@@@@");
			
			
			lotesPreavisosBean.setCodLote(request.getParameter("w83aLotesPreavisosBean.codLote"));
			lotesPreavisosBean.setNombreFichero(request.getParameter("w83aLotesPreavisosBean.nombreFichero"));
			lotesPreavisosBean.setNombreFicheroVuelta(request.getParameter("w83aLotesPreavisosBean.nombreFicheroVuelta"));
			lotesPreavisosBean.setCodSindicato(request.getParameter("w83aLotesPreavisosBean.sindicato"));
			lotesPreavisosBean.setTerritorio(request.getParameter("w83aLotesPreavisosBean.territorio"));
			lotesPreavisosBean.setNumPreavisos(request.getParameter("w83aLotesPreavisosBean.numPreavisos"));
			lotesPreavisosBean.setFechaEntradaDesde(request.getParameter("w83aLotesPreavisosBean.fechaEntradaDesde"));
			lotesPreavisosBean.setFechaEntradaHasta(request.getParameter("w83aLotesPreavisosBean.fechaEntradaHasta"));
			lotesPreavisosBean.setFechaEntrada(request.getParameter("w83aLotesPreavisosBean.fechaEntrada"));
			lotesPreavisosBean.setTratado(request.getParameter("w83aLotesPreavisosBean.tratado"));
			lotesPreavisosBean.setNoTratado(request.getParameter("w83aLotesPreavisosBean.noTratado"));
			lotesPreavisosBean.setIdioma((String)contexto.get("w83aCgaIdioma"));
		
			if((StringUtils.isEmpty((String)contexto.get("modoPantalla")))){
					/*if("true".equals(request.getParameter(W83aClsConstantes.RIA_SEARCH))){
						lotesPreavisosBean = (W83aLotesPreavisosBean)W83aUtilidadesComunes.inicializarPaginador(request, lotesPreavisosBean);
						lotesPreavisosBean.setPage("1");
						contexto.set("w83aLotesPreavisosBean",lotesPreavisosBean);
					}else{*/
						lotesPreavisosBean = (W83aLotesPreavisosBean)W83aUtilidadesComunes.inicializarPaginador(request, lotesPreavisosBean);
					
						contexto.set("w83aLotesPreavisosBean",lotesPreavisosBean);	
					
					//}
		}else if("sord".equals(request.getParameter("action"))){
			lotesPreavisosBean = (W83aLotesPreavisosBean)W83aUtilidadesComunes.inicializarPaginador(request, lotesPreavisosBean);			
			contexto.set("w83aLotesPreavisosBean",lotesPreavisosBean);
		}else if(StringUtils.isEmpty(((W83aLotesPreavisosBean)contexto.get("w83aLotesPreavisosBean")).getSort())){
			lotesPreavisosBean = (W83aLotesPreavisosBean)W83aUtilidadesComunes.inicializarPaginador(request, lotesPreavisosBean);			
			contexto.set("w83aLotesPreavisosBean",lotesPreavisosBean);
		}else if(W83aClsConstantes.MODO_BUSQUEDA_CONBUSQ_INICIAL.equals(contexto.get("modoPantalla"))){
			lotesPreavisosBean = (W83aLotesPreavisosBean)W83aUtilidadesComunes.inicializarPaginador(request, lotesPreavisosBean);			
			contexto.set("w83aLotesPreavisosBean",lotesPreavisosBean);
		}else {
			lotesPreavisosBean = (W83aLotesPreavisosBean)W83aUtilidadesComunes.inicializarPaginador(request, lotesPreavisosBean);			
			contexto.set("w83aLotesPreavisosBean",lotesPreavisosBean);
		}
		
	}

	protected ActionForward processForward(Q70ContextoEJIE contexto, ActionErrors errors, ActionMapping mapping, 
			ActionForm form, HttpServletRequest request, HttpServletResponse response) throws Exception {
		String action = (String)contexto.get("action");
		W83aClsTrazas.trazaDebug(null, "@@@@@@@@@@@ W83aTablaLotesPreavisosOPAction @@@@@@@@@@@@");
		W83aLotesPreavisosBean lotesPreavisosBean = (W83aLotesPreavisosBean)contexto.get("w83aLotesPreavisosBean");
		
		if(null==(ArrayList)contexto.get("w83aListaLotesPreavisos")){	
			contexto.set("w83aListaLotesPreavisos", new ArrayList());
		}
		if(lotesPreavisosBean.isCambioPagina()&&!"sord".equals(request.getParameter("action"))){
			return mapping.findForward("outOP");
		}else 
			if (("find").equals(action)
				||("sord").equals(action)){
			//Si vengo de una pantalla anterior tengo que mirar si he realizado una búsqueda anterior
			if(StringUtils.isEmpty((String)contexto.get("modoPantalla"))
					||W83aClsConstantes.MODO_BUSQUEDA.equals(contexto.get("modoPantalla"))){
				contexto.set("modoPantalla",W83aClsConstantes.MODO_BUSQUEDA);
				return mapping.findForward("find");
			}else{
				contexto.set("modoPantalla",W83aClsConstantes.MODO_BUSQUEDA);
				
				if("true".equals((String)contexto.get("busqRealizada"))){
					return mapping.findForward("find");					
				}
			}
		}

		return mapping.findForward("ok");
	}

}
